package ar.com.osdepym.agregacionafip.modelfile;

import ar.com.osdepym.agregacionafip.parser.CamposDeArchivo;

public class TransferenciasFileField {

	private CamposDeArchivo campos;
	private CamposDeArchivo cabecera;

	public CamposDeArchivo obtenerConfiguracionCabecera() {
		if (this.cabecera == null) {
			this.cabecera = new CamposDeArchivo();

			this.cabecera.addCampo("codigoRegistro", 2, "String", 0, 0);
			this.cabecera.addCampo("codigoArchivo", 10, "String", 0, 0);
			this.cabecera.addCampo("subcodigo", 4, "String", 0, 0);
			this.cabecera.addCampo("espacioUsoFuturo", 6, "String", 0, 0);
			this.cabecera.addCampo("fechaProceso", 8, "Date", 0, 0);
			this.cabecera.addCampo("horaProceso", 6, "String", 0, 0);
			this.cabecera.addCampo("espacioUsoFuturo2", 64, "String", 0, 0);
		}
		return this.cabecera;

	}

	public CamposDeArchivo obtenerConfiguracionDetalle() {
		if (this.campos == null) {
			this.campos = new CamposDeArchivo();

			this.campos.addCampo("organismoDestino", 4, "String", 0, 0);
			this.campos.addCampo("conceptoTransferencia", 3, "String", 0, 0);
			this.campos.addCampo("importe", 15, "Long", 15, 0);
			this.campos.addCampo("indicadorDebCred", 1, "String", 0, 0);
			this.campos.addCampo("fechaDeTransferencia", 10, "Date", 0, 0);
			this.campos.addCampo("fechaDeRecaudacion", 10, "Date", 0, 0);
			this.campos.addCampo("cuitContribuyente", 11, "Long", 11, 0);
			this.campos.addCampo("periodo", 4, "Integer", 4, 0);
			this.campos.addCampo("numeroObligacion", 12, "String", 0, 0);
			this.campos.addCampo("secuenciObligacion", 3, "String", 0, 0);
			this.campos.addCampo("cuitAportante", 11, "Long", 11, 0);
			this.campos.addCampo("banco", 3, "String", 0, 0);
			this.campos.addCampo("sucursalNominacion", 3, "String", 0, 0);
			this.campos.addCampo("zona", 2, "Integer", 2, 0);
			this.campos.addCampo("porcentajeReduccion", 2, "Integer", 2, 0);
			this.campos.addCampo("porcentajeReduccion2", 1, "Integer", 1, 0);
			this.campos.addCampo("porcentajeReduccion3", 1, "Integer", 1, 0);
			this.campos.addCampo("grupoFamiliar", 2, "Integer", 2, 0);
			this.campos.addCampo("tipoPago", 1, "String", 0, 0);
			this.campos.addCampo("marcaApropiacion", 1, "String", 0, 0);
		}
		return campos;

	}

}
